package org.ala.tcp_feign_common.enums;

import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * biz回执中受理状态
 *
 * @author 骆毅(ala)
 * @date 2024年4月20日
 */
public enum TcpFeignBizAckTypeEnums {

	
	SUCCESS((byte)0, "成功受理"),
	
	NO_LOGIN((byte)1, "连接未登录"),
	NO_METHOD((byte)2, "服务节点上找不到处理请求的handler"),
	NO_THREAD((byte)3, "服务繁忙，没有空闲thread，队列也满了"),
	SERIA_ERROR((byte)4, "序列化异常"),
	
	FAILD((byte)5, "服务器异常")
	;
	private byte val;
	private String desc;
	private TcpFeignBizAckTypeEnums(byte val, String desc) {
		this.val = val;
		this.desc = desc;
	}
	
	
	static Map<Byte, TcpFeignBizAckTypeEnums> valMapper;
	public static TcpFeignBizAckTypeEnums val(byte val) {
		if (valMapper == null) {
			synchronized (TcpFeignBizAckTypeEnums.class) {
				if (valMapper == null) {
					valMapper = Arrays.stream(values()).collect(Collectors.toMap(t->t.getVal(), t->t));
				}
			}
		}
		return valMapper.get(val);
	}
	
	
	public byte getVal() {
		return val;
	}
	public void setVal(byte val) {
		this.val = val;
	}
	public String getDesc() {
		return desc;
	}
	public void setDesc(String desc) {
		this.desc = desc;
	}
	
}
